import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

// 支持 React 的 jsx 开发
import vueJsx from '@vitejs/plugin-vue-jsx'


// 支持提示
// 1、使用 @type import("vite").UserConfig 来指定类型。
/** @type import("vite").UserConfig */
const viteConfig = {
  optimizeDeps: {
    //
  },
  root: "",
  appType: null,
  base: ""
};

// 2、普通函数
/**
 * 使用 @returns {String} 就能实现 demo(). 的自动提示，当然都是 字符串 的API。
 * @returns {String}
 */
function demo() {
  return "";
}
// demo(). 就会有提示了。


// https://vite.dev/config/
// export default defineConfig({
//   // plugins: [vue()],
//   plugins: [vue(), vueJsx()],
// })

export default defineConfig(config => {
  console.log('config', config);
  /*
  `npm run dev`（可以通过 --mode=xxx 来修改）
  config {
    mode: 'development',
    command: 'serve',
    isSsrBuild: false,
    isPreview: false
  }
  */

  const env = loadEnv(config.mode, process.cwd(), "");
  console.log('env', env);
  return Object.assign(config, {
    plugins: [vue()],
    // 指定(.env...)哪些环境变量可以被发送到客户端（浏览器）
    // 默认是 VITE_ 开头的。
    envPrefix: "AUV_"
  });
})
